<?php

namespace app\api\controller;

use think\Db;

//微信接收消息
class Weixinmsg
{
    // 接收官方客服发来的消息
    public function receiveMsg()
    {
        $signature = input('param.signature');
        $timestamp = input('param.timestamp');
        $nonce = input('param.nonce');
        $openid = input('param.FromUserName');
        $event = input('param.Event');
        $user_content = input('param.Content');        
        $token = 'ymqvipcctv123qwe';
        $encodingAesKey = 'wOi9RE8GbDkG5CVs6lmDMyg4geSTDGBjPr3wC0v3eXa';
        $appId = 'wx29591769561b7bab';
        if ($this->checkSignature($signature, $timestamp, $nonce, $token)) {
            $wxs = new \wx\WeixinService();
            $content = '';
            switch ($event) {
                case 'user_enter_tempsession':
                        $content = '您好，欢迎使用“羽毛球VIP”，如果有售后问题，请回复“售后”，尺码问题，请回复“尺码”，帮会创建问题，请回复：“帮会”，其余问题，请回复“其他”';
                    break;
                
                default:
                    switch ($user_content) {
                        case '尺码':
                            $content = '尺码问题，建议去天猫或者京东搜索相同型号，咨询天猫客服。然后，再根据他们推荐购买。尺码不合适可以七天无理由退换货';                        
                            break;
                        case '帮会':
                            $content = '帮会的创建暂时只对：俱乐部会长、网红、实体店主、球馆经营者开放。如有需要，请联系微信：zhongyuliana';                        
                            break;

                        default:
                            $content = '请添加您的专属客服微信：15328078098，他将为您详细解答。工作时间为9：00～21：00。';
                            break;
                    }
                    break;
            }
            $res = $wxs->sendCustomerMsg($openid, $content);
            echo 'success';
        } else {
            echo '';
        }
    }

    // 接收微信消息的签名验证
    private function checkSignature($signature, $timestamp, $nonce, $token)
    {
        $tmpArr = array($token, $timestamp, $nonce);
        sort($tmpArr, SORT_STRING);
        $tmpStr = implode($tmpArr);
        $tmpStr = sha1($tmpStr);
        if ($tmpStr == $signature) {
            return true;
        } else {
            return false;
        }
    }
}
